package pacote_teste;

import static org.junit.Assert.*;
import fachada.Fachada;
import gui.Alterar_Cliente;
import gui.LIstar_Clientes;

import java.util.ArrayList;

import junit.framework.Assert;

import org.junit.Test;

import classes_basicas.Cliente;
import classes_basicas.Endereco;
import classes_basicas.Produto;

public class Teste_Cliente {
Fachada f = new Fachada();

	@Test
	public void testverificarlistarclientes() throws Exception{
		boolean status;
		try {
		Cliente c = new Cliente();
		c.setNome("");
			ArrayList<Cliente> listc = (ArrayList<Cliente>) f.listarcliente(c);
		
			LIstar_Clientes lc = new LIstar_Clientes();
			Assert.assertTrue(lc.listando(c));
			status=true;
			
		} catch (Exception e) {
			// TODO: handle exception
			status=false;
		}	
		assertTrue(status);
	}
	@Test
	public void testverificarlistarclientesfiltro() throws Exception{
		try {
		Cliente c = new Cliente();
		c.setNome("");
			ArrayList<Cliente> listc = (ArrayList<Cliente>) f.listarcliente(c);
		
			LIstar_Clientes lc = new LIstar_Clientes();
			assertTrue(lc.listando2(c));
			
			
		} catch (Exception e) {
			// TODO: handle exception
		}	
	}
	@Test
	public void testlistarnatabelaguialterarcliente() throws Exception{
	
		
		Alterar_Cliente ac = new Alterar_Cliente();
		Cliente c = new Cliente();
		c.setNome("");
		Assert.assertTrue(ac.listando(c));
		
		
		
	}	
	@Test
	public void testinserircliente()throws Exception{
		boolean status;
		try{
		Cliente cli = new Cliente();
		Endereco e = new Endereco();
		cli.setNome("teste");
		cli.setCpf("12345678909");
		cli.setSexo("Feminino");
		cli.setTelefone("91876543");
		e.setLogradouro("br-101 km 4");
		e.setBairro("Imbiribeira");
		e.setCidade("REcife");
		e.setEstado("Pernambuco");
		cli.setEndereco(e);
		f.inserircliente(cli);
		status=true;
		}catch(Exception e){
			status=false;
		}
		
		
			assertTrue(status);
		
		
	}
	@Test
	public void testexcluircliente() throws Exception{
		boolean status;
		try{
		Cliente cli = new Cliente();
		cli.setNome("teste");
		ArrayList<Cliente> list =(ArrayList<Cliente>) f.listarcliente(cli);
		cli= list.get(0);
		f.removercliente(cli);
		status=true;
		}catch(Exception e){
			status=false;
			}
		
		assertTrue(status);
	}
}
